Attempts to display media on computers date back to the earliest days of computing. However, little progress was made for several decades, primarily due to the high cost, limited capabilities, and to a lesser extent, compatibilities of available computer hardware. Recently consumer-grade personal computers have become powerful enough to display various types of media, including high quality audio and/or video. Streaming multimedia represents one method of media distribution on the Internet. In essence streaming multimedia is multimedia that is broadcast by a streaming provider to an end-user. Generally, the term streaming refers to the delivery method of the data rather than to the content. Unfortunately, streaming typically requires tremendous bandwidth and/or latency to cache the data locally. Recent advances in computer networks, combined with powerful home computers and modem operating systems, have made the nearly universal distribution of streaming media for ordinary consumers possible, practical and affordable. Universal distribution may be defined as multimedia that is constantly received by, and normally presented to, an end-user while it is being delivered by a streaming provider. A stream of media can be provided on-demand or live. On demand streams may be defined as recordings of original productions in media data files stored on a server. They may be stored for a period of time post original production of the data, not necessarily the result of a real time live event, and may be available for transmission at any time upon request. Live streams may be defined as contemporaneous streams of media data relayed from a producer of a performance to a consumer-user as a result of a consumer user request prior to or as the event is taking place. Live streams may still use a server to broadcast the event, and are typically only available at the time the event is occurring unless recorded and converted to on-demand content. An example would be a live theatrical performance.
The current streaming technology for streaming live events entails the use of tremendous bandwidth and/or latency to cache the data. In light of this, there is a need in the art for a bandwidth management system that can be used to make live streaming practical and affordable, for example in connection with a virtual theater.